package com.bsj.power.common.def.vo;

import com.bsj.power.common.def.entity.gb28181.DeviceChannel;
import lombok.Data;

import java.util.List;

/**
 * @Description
 * @Author zhaoyang
 * @Date 2024/7/18 10:47
 */
@Data
public class DeviceVO {

    /**
     * 设备id
     */
    private Long id;

    /**
     * 国标id
     */
    private String deviceId;

    /**
     * 在线1/离线0
     */
    private Integer online;

    /**
     * 通道个数
     */
    private Integer channelNumber;

    /**
     * 设备通道id，多个英文逗号隔开
     */
    private String channelIdStr;
    /**
     * 逻辑通道号字符串
     */
    private String channelSerialNum;

    /**
     * 设备别名
     */
    private String nickName;

    /**
     * 围栏id
     */
    private Integer pathId;

    /**
     * 场景id
     */
    private Integer sceneId;

    /**
     * 摄像头类型1球形摄像头2AI球形摄像头3网络摄像头4防爆球形摄像头
     */
    private Integer cameraType;

    /**
     * 三维位置点，json格式保存给前端使用
     */
    private String pointJson;

    /**
     * 是否有故障0没有1有
     */
    private Integer fault;

    /**
     * 云台是否是锁定状态0没有1有
     */
    private Integer ptzControlLock;

    /**
     * 锁定云台的用户id
     * 谁锁定的，就是谁的用户id，不返回前端会报错，使用int，默认返回的0（没有id为0的用户）
     */
    private int lockUid;

    /**
     * 锁定云台的用户的权重，没锁定就返回-1，其他的按照用户云台的权重返回
     */
    private int lockedUserWeight = -1;

    /**
     * 分辨率(1:QCIF,2:CIF,3:4CIF,4:D1,5:720P,6:1080P/I)
     */
    private Integer resolution;

    /**
     * 亮度
     */
    private Integer brightness;

    /**
     * 对比度
     */
    private Integer contrast;

    /**
     * 饱和度
     */
    private Integer saturation;


    /**
     * 生产厂商
     */
    private String manufacturer;

    /**
     * 型号
     */
    private String model;

    /**
     * 安装人员
     */
    private String installer;

    /**
     * 安装人员电话
     */
    private String installerPhone;

    /**
     * 安装位置
     */
    private String location;

    /**
     * 场景名称
     */
    private String sceneName;

    /**
     * 是否被关注0否1是
     */
    private Integer attention;

    /**
     * 二维地图位置点
     */
    private String pointJson2d;

    /**
     * 被关注的目录id
     */
    @Deprecated
    private Integer attentionId;

    /**
     * 被关注的目录名称
     */
    @Deprecated
    private String attentionName;

    /**
     * 摄像头关联的房间号
     */
    private String roomNo;

    /**
     * 设备通道信息
     */
    private List<DeviceChannel> deviceChannels;

    /**
     * 最后一次登录时间，这个改为最后心跳时间，字段名先不改因为前端已经接好了
     */
    private String lastRegisterTime;

    /**
     * 最后登录时间
     */
    private String lastLoginTime;

    /**
     * 设备编码
     */
    private String equipmentNumber;

}
